package com.tuanzi.loan.workflow.service;

import java.util.List;

import com.tuanzi.loan.workflow.entity.FormAttribute;
import com.tuanzi.loan.workflow.entity.FormBinding;

/**
 * @author Ray
 * @date 2018/01/22
 */
public interface FormAttributeService {

	List<FormAttribute> save(List<FormAttribute> formAttributes);

	FormAttribute save(FormAttribute formAttribute);
//
//	/**
//	 * 职责：保存表单属性列表
//	 *
//	 * @param request
//	 */
//	BaseResponse<String> saveFormAttributeList(List<FormAttributeSaveRequest> request);
//
//	/**
//	 * 职责：保存表单属性列表
//	 */
//	BaseResponse<String> deleteAndSave(FormAttributeDeleteAndSaveRequest request);
//

	void deleteByProcDefId(String procDefId);

	void deleteByFormBindingId(Long formBindingId);

//
//	/**
//	 * 职责：获取表单属性
//	 *
//	 * @param request
//	 */
//	BaseResponse<FormAttributeListResponse> listFormAttribute(FormAttributeQueryRequest request);
//
//	/**
//	 * 根据表单绑定对象，保存表单属性
//	 */
//	BaseResponse<String> saveByFormBinding(FormAttributeSaveByFormBindingReqeust reqeust);
//
//	/**
//	 * 根据json批量保存表单属性
//	 *
//	 * @param request
//	 * @return
//	 */
//	BaseResponse<String> batchSaveFormAttribute(FormAttributeBatchSaveRequest request);
//
//	BaseResponse<FormAttributeListResponse> listFormAttributeByField(FormAttributeQueryRequest request);

	void saveByFormBinding(FormBinding formBinding);

	List<FormAttribute> findAllByProcDefId(String procDefId);

	List<FormAttribute> findAllByProcDefIdAndFormBindId(String procDefId,Long formBindId);

	FormAttribute findOne(String procDefId, String activityId, Long formBindingId);
}
